package com.indusfo.spc.controller;

import com.indusfo.spc.pojo.RoleUser;
import com.indusfo.spc.service.RoleUserService;
import com.indusfo.spc.vo.JSONObject;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;

/**
 * 用户授权信息控制器
 * 接口调用
 * 之前新增和更新接口是直接调用一个控制器的接口,因为当前表的字段没有主键字段的存在
 * 所以在调用新增和更新的接口的时候得注意,分开调用接口!!!!
 *
 * @author 贺闻博
 * <p>
 * 2018年11月30日
 */
@Controller
@RequestMapping("roleUser")
public class RoleUserController {
    @Resource
    private RoleUserService roleUserService;

    /**
     * 根据用户id查询他的角色信息
     *
     * @param roleUser
     * @return
     */
    @RequestMapping(value = "selectRoleUser")
    @ResponseBody
    public JSONObject selectRoleUser(RoleUser roleUser) {
        JSONObject ListRoleUser = roleUserService.selectRoleUser(roleUser);
        return ListRoleUser;
    }

    /**
     * 根据角色id查询用户信息
     *
     * @param roleUser
     * @return
     */
    @RequestMapping(value = "selectRoleId")
    @ResponseBody
    public JSONObject selectRoleId(RoleUser roleUser) {
        JSONObject ListRoleUser = roleUserService.selectRoleId(roleUser);
        return ListRoleUser;
    }

    /**
     * 更新用户授权信息
     *
     * @param roleUser
     * @return
     */
    @RequestMapping(value = "updateRoleUser")
    @ResponseBody
    public JSONObject updateRoleUser(RoleUser roleUser) {
        JSONObject ListRoleUser = roleUserService.updateRoleUser(roleUser);
        return ListRoleUser;
    }

    /**
     * 新增用户授权信息
     *
     * @param roleUser
     * @return
     */
    @RequestMapping(value = "insertRoleUser")
    @ResponseBody
    public JSONObject insertRoleUser(RoleUser roleUser) {
        JSONObject ListRoleUser = roleUserService.insertRoleUser(roleUser);
        return ListRoleUser;
    }

    /**
     * 删除用户授权信息
     *
     * @param
     * @return
     */
    @RequestMapping(value = "deleteRoleUser")
    @ResponseBody
    public JSONObject deleteRoleUser(Long[] lUserId, Integer lRoleId, Integer lDataState) {
        JSONObject ListRoleUser = roleUserService.deleteRoleUser(lUserId, lRoleId, lDataState);
        return ListRoleUser;
    }

    /**
     * 将角色下的用户权限信息删除
     *
     * @param lRoleId
     * @return
     * @Title: RoleUserController
     */
    @RequestMapping(value = "deleteRoleUserAll")
    @ResponseBody
    public JSONObject deleteRoleUserAll(@Param("lRoleId") Integer lRoleId) {
        JSONObject ListRoleUser = roleUserService.deleteRoleUserAll(lRoleId);
        return ListRoleUser;
    }


}
